package com.edou.auth.service;

import java.util.List;

import com.edou.auth.entity.Right;
import com.edou.auth.entity.User;

/**
 * 后台菜单service类
 * @creator     admin
 * @email       admin@edou.com
 * @company     www.edou.com
 * @create-time Jul 24, 2012   9:20:03 AM
 * @version 0.1
 */
public interface IRightService {

	/**
	 * 获取全部权限集合
	 * @return
	 */
	List<Right> listRightAll();
	
	/**
	 * 根据父级ID查询下级操作权限
	 * @param 	pid		父级ID
	 * @return
	 */
	List<Right> listRightByParentId(String pid, Integer level);

	/**
	 * 根据用户ID获取权限集合
	 * @param userId
	 * @return
	 */
	List<Right> listRightByUserId(String userId);
	
	/**
	 * 根据角色ID得到权限
	 * @param roleId
	 * @return
	 */
	List<Right> listRightByRoleId(String roleId);

	/**
	 * 构造用户权限JSON数据
	 * @param user
	 * @return
	 */
	String buildUserRightJSONStr(User user);
	/**
	 * 根据用户获得菜单集合
	 * @param user
	 * @return
	 */
	List<Right> buildUserRights(User user);

	/**
	 * 根据ID查询
	 * @param id 主键
	 * @return 部门表
	 */
	Right getRightById(String id);
	
	/**
	 * 添加类别
	 * @param right
	 */
	void add(Right right);
	
	/**
	 * 修改  
	 * @param map
	 */
	void update(Right right);
	
	/**
	 * 根据ID集合删除
	 * @param ids
	 */
	void delByIds(String[] ids);
}
